import pyautogui
import time
from datetime import datetime

# pyautogui.click(2381, 27)  # 鼠标点击(2381,27)坐标位置，（将pycharm最小化）

def find_image(image_path, confidence=0.9):
    try:
        # 尝试在屏幕上定位指定的图像
        image_location = pyautogui.locateOnScreen(image_path, confidence=confidence)
        # 如果找到了图像位置
        if image_location:
            return True
        else:
            # 如果未找到图像，则返回 False
            return False
    except pyautogui.ImageNotFoundException:
        # 如果图像未找到，则捕获 ImageNotFoundException 异常并返回 False
        return False


def click_image(image_path, offset=0, confidence=0.9):
    try:
        # 尝试在屏幕上定位指定的图像
        image_location = pyautogui.locateOnScreen(image_path, confidence=confidence)
        # 如果找到了图像位置
        if image_location:
            # 计算点击位置（图像右侧）
            click_x = image_location.left + image_location.width - offset
            click_y = image_location.top + (image_location.height // 2)  # 点击图像的垂直中心
            # 点击计算出的坐标
            pyautogui.click(click_x, click_y)
            return True
        else:
            # 如果未找到图像，则返回 False
            return False
    except pyautogui.ImageNotFoundException:
        # 如果图像未找到，则捕获 ImageNotFoundException 异常并返回 False
        return False


time.sleep(1)  # 进行1秒的延时
offset = 2
while True:
    if click_image("picture\\videoBegin.png"):  # 当识别到视频开始标志
        print("检测到视频开始标志，开始播放视频")
        time.sleep(5)  # 进行5秒的延时
        while not find_image("picture\\VideoEndFlag.png"):
            print(datetime.now().strftime('%Y-%m-%d %H:%M:%S')+"：未检测到播放完成标志，继续播放视频")
            time.sleep(20)  # 进行20秒的延时
        print("检测到视频播放完成标志，将点击下一单元")
        offset = -offset
        click_image(r"picture\\nextPage.png", offset)  # 点击下一步
        time.sleep(5)  # 进行5秒的延时

    elif find_image("picture\\VideoEndFlag.png"):  # 当识别到视频完成标志
        print("检测到视频播放完成标志，将点击下一单元")
        offset = -offset
        click_image(r"picture\\nextPage.png",offset)  # 点击下一步
        time.sleep(5)  # 进行5秒的延时

    elif find_image(r"picture\\nextPage.png"):
        print("未检测到视频，将点击下一单元")
        offset = -offset
        click_image(r"picture\\nextPage.png", offset)  # 点击下一步
        time.sleep(5)  # 进行5秒的延时

    else:
        continue